package com.example.portlocalforward.controller.model;

import java.time.LocalDateTime;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 端口本地转发响应模型
 * 
 * @author Generated
 * @version 1.0.0
 */
@ApiModel(description = "端口本地转发响应信息")
@Data
@NoArgsConstructor
@AllArgsConstructor
public class PortLocalForwardResponse {

    @ApiModelProperty(value = "转发ID", example = "1")
    private Long id;

    @ApiModelProperty(value = "转发名称", required = true, example = "k8s")
    private String name; // 转发名称

    @ApiModelProperty(value = "SSH隧道ID", required = true, example = "1")
    private Long sshTunnelId; // SSH隧道ID（外键）

    @ApiModelProperty(value = "SSH隧道名称", example = "生产服务器")
    private String sshTunnelName; // SSH隧道名称

    @ApiModelProperty(value = "SSH隧道IP", example = "10.10.22.57")
    private String sshTunnelIp; // SSH隧道IP

    @ApiModelProperty(value = "SSH隧道端口", example = "22")
    private int sshTunnelPort; // SSH隧道端口

    @ApiModelProperty(value = "SSH隧道用户名", example = "root")
    private String sshTunnelUsername; // SSH隧道用户名

    @ApiModelProperty(value = "SSH隧道密码", example = "123456")
    private String sshTunnelPassword; // SSH隧道密码

    @ApiModelProperty(value = "本地端口", required = true, example = "9443")
    private int localPort; // 本地端口

    @ApiModelProperty(value = "远程目标主机", required = true, example = "10.10.22.57")
    private String remoteHost; // 远程主机

    @ApiModelProperty(value = "远程目标端口", example = "9443")
    private int remotePort; // 远程端口

    @ApiModelProperty(value = "访问地址", example = "http://10.10.22.57:9443")
    private String url; // 访问地址

    @ApiModelProperty(value = "标签，多个标签用逗号分割", example = "开发环境,测试环境")
    private String tags; // 标签，多个标签用逗号分割

    @ApiModelProperty(value = "转发状态：0-未启动，1-已启动", example = "0")
    private Integer status; // 转发状态

    @ApiModelProperty(value = "创建时间", example = "2024-01-01T10:00:00")
    private LocalDateTime createdTime; // 创建时间

    @ApiModelProperty(value = "更新时间", example = "2024-01-01T10:00:00")
    private LocalDateTime updatedTime; // 更新时间
}
